Computational assets, such as software applications, may be monitored and/or managed by a management system. A management system may interact with a plurality of computational assets, distinguishing the computational assets from each other using a predetermined identifier (ID), such as an alphanumeric string.
The state of a computational asset (e.g., the values of one or more properties of the computational asset) may retain the business value of the computational asset. Accordingly, a computational asset may be subject to one or more forms of governance, such as asset inventory control, tracking, security, compliance auditing, change and remediation, licensing, scheduling, and/or resource consumption monitoring. Such operations may require the management system to monitor and control the computational asset and, therefore, to distinguish, identify, and track it. For example, the management system may distinguish computational assets from each other to enable the management system to maintain an inventory of computational assets and/or to recognize when new computational assets appear. Differentiating a computational asset may also be valuable in authorizing activities of an asset and/or controlling a computational asset by identifying it, sending it commands, and tracking its change.
Distinguishing, identifying, and tracking a computational asset may be challenging. Some computational assets such as virtual machines may be easily reproduced, and the copies may initially appear identical. Further, copies can be relocated (e.g., between host computing devices), such that one computational asset appears to change location, and/or become suspended, deleted, or offline. In addition, a copy of an original computational asset may remain identical to the original after copying while the original changes state.
A snapshot or backup copy may capture the instantaneous state of a computational asset, and the snapshot may be activated at a later time, such that the activated snapshot executes simultaneously with the original asset. The original asset may be restored, or “rolled back,” to a previous state, while one or more copies created based on a subsequent state continue to execute and evolve independently. Further, multiple rolled-back versions of a computational asset may become active simultaneously.
In such scenarios, a static, predetermined identifier (an ID) may fail to uniquely identify a computational asset. For example, if a predetermined ID is stored as a property of a computational asset, that ID may be copied along with all other properties during duplication of the computational asset. Private properties are common to all snapshot versions. In addition, some distinguishing characteristics such as a hardware address (e.g., a Media Access Control address) or a digital signature may change.
With existing systems, without a manual configuration change (e.g., modification of a computational asset property), two instances of a computational asset may attempt to communicate with the management system using the same ID. In such a scenario, messages intended for one instance may be inadvertently directed to the other instance. Further, operating data (e.g., processor utilization) associated with the two instances may be conflated. Alternatively, a human operator may reconfigure one or both instances to ensure each is associated with a unique ID. However, such configuration may introduce undesired delay, manual effort, and a risk of error into the process of duplicating computational assets. Alternatively, an automated process may reconfigure one or both instances to ensure each is associated with a unique ID. However, such a process pre-supposes the automated process itself is able to detect and distinguish duplicate copies of the computational asset from the original and each other.